home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / x11 / strategy / xnetbris.00 / xnetbris / brisk.h next >
C/C++ Source or Header  |  1995-07-23  |  2KB  |  78 lines

  1. /* general defines for net-brisk 
  2.  *
  3.  * Brendan Bartlett, 1995
  4.  */
  5.  
  6. #define VERSION        1.00
  7.  
  8. #define MAX_PLAYERS    4
  9.  
  10.  
  11. #define CHAOS         10
  12. #define TEAM          11
  13.  
  14. /* This is the only structure passed between the server-client */
  15.  
  16. #define MESSAGE_TYPE   100
  17. #define MOVE_TYPE      101          
  18. #define DEAL_TYPE      103
  19. #define SCORE_UPDATE   104
  20. #define END_GAME       105            /* shares the SCORE_UPDATE structure */
  21.  
  22. #define INFORM_TYPE    200            /* had no data structure */
  23. #define MOVE_EXPECTED  201            /* had no data structure */
  24. #define ILLEGAL_MOVE   202            /* found in packet->type */
  25. #define OK             203             /* " " */
  26. #define LAST_HAND      204
  27.  
  28. struct card
  29. {
  30.   unsigned int suit;
  31.   unsigned int weight;
  32. };
  33.  
  34. struct packet
  35. {
  36.   int type;                                      /* one of the above type */
  37.  
  38.   union
  39.     {
  40.       struct 
  41.     {
  42.       char string[80];
  43.     } message;
  44.  
  45.       struct 
  46.     {
  47.       unsigned int tablepos;
  48.       unsigned int player;              
  49.       struct card play_card;
  50.     } move;
  51.  
  52.       struct
  53.     {
  54.       unsigned char scores[4];
  55.       unsigned int lastwin;                /* player # of the winner of the last hand */
  56.  
  57.     } score;
  58.  
  59.       struct
  60.     {
  61.       unsigned int rec_place;            /* the "recommened" place where the client should put the card */
  62.       struct card deal_card;
  63.     } deal;
  64.       
  65.       struct
  66.     {
  67.       unsigned int cardpos;
  68.     } ok;
  69.  
  70.       struct                            /* sent when the game begins */
  71.     {
  72.       unsigned int numplayers;
  73.       unsigned int yournumber;        /* which player this client is */
  74.       unsigned int play_type;
  75.     } inform;
  76.     } data;
  77. };
  78.